//Définition des variables
var Liste=new Menu(); //Menu contenant les menus princpaux
var Largeur=145,Hauteur=20; //Largeur des menus et sous menus
var DivTop=200;DivLeft=5; //Position du menu par rapport au bord de la feuille (en pixels)
var Open; //Variable contenant la liste des sous menus affichés
var MOut="#000000"; //Couleur des menus non survolés
var MOver="#555555"; //Couleur des menus survolés
var SMOut="#FF0425"; //Couleur des sous menus non survolés
var SMOver="#79000F"; //Couleur des sous menus survolés
var Mimg="
";
var SMimg="
";
var Timer=200,Time; //Timer : Temps à attendre pour que le menu s'efface (nul => désactivé)
var LgID;
var Affichage,Com;
//Définition des menus et sous menus
Liste.State=1;
Liste.nb=0;
Liste.ID=Open="Liste";
LgID=Open.length;
///////////////////////////////////////////////////////////////////////////////////////////////
//Définition des fonctions
//Définition de l'objet Menu
function Menu(){
this.Titre; //Titre du menu
this.State; //Positif : Menu affiché ; Négatif : Menu masqué
this.nb; //Nombre de sous menus
this.ID; //Identifiant du menu ou sous menu
this.SMenu=new Array();
this.Lvl=Level;
this.AddM=AddMenu;
this.Aff=AffMenu;
this.AffB=AffBetween;
}
//Fonction chargée de créer les sous menus
//Nom : Texte qui sera affiché sur la page HTML
//Lien (optionel) : Lien hypertexte associé à l'entrée du menu
//Dest (optionel) : Frame cible du lien
function AddMenu(Nom,Lien,Dest){
this.SMenu[this.nb]=new Menu();
if(Lien)
if(Dest)this.SMenu[this.nb].Titre=""+Nom+"";
else this.SMenu[this.nb].Titre=""+Nom+"";
else this.SMenu[this.nb].Titre=Nom;
this.SMenu[this.nb].State=-1;
this.SMenu[this.nb].nb=0;
this.SMenu[this.nb].ID=this.ID+".SMenu["+this.nb+"]";
this.nb++;
}
//Fonction chargée de donner le nombre de sous niveaux maximum
//Level de l'objet
function Level(Lvl){
var i;
LvlMax=Lvl?LvlMax:0;
LvlMax=LvlMax0){
Affichage='';
}
document.getElementById("ListeLvl"+Level).innerHTML=Affichage;
document.getElementById("ListeLvl"+Level).style.visibility="visible";
}
//Fonction chargée d'afficher le sous menu sélectionné
//Level : Niveau du sous menu à afficher
//Num : Numéro du sous menu à afficher
function AffBetween(Level,Num){
for(i=(LgID+Level*9),j=0;i<=Open.length;i+=9,j++)eval(Open.substring(0,i)+".State=-1");
this.State=-this.State;
if(LgID+Level*9<=Open.length){
if(Level>1){
Com=Open.substring(0,LgID+(Level-1)*9)+".State=1;"+Open.substring(0,LgID+(Level-1)*9)+".Aff("+(Level-1)+",(";
for(i=12;i");
}
Liste.Aff(0,0);
}